using System.Activities.Presentation.Model;
using Headsight.BPMN2WF.BPMN.Model;

namespace Headsight.BPMN2WF.Transformation
{
    /// <summary>
    /// This interface is to implemented and the implementing class to be registered with the
    /// <see cref="BPMN2WF"/> tool for ...
    /// </summary>
    public interface IBPMN2WFTransformation
    {
        /// <summary>
        /// This method is invoked by <see cref="BPMN2WF"/> for requesting the creation of an <i>WF Activity<see cref="ModelItem"/></i>
        /// for the <i>BPMN element <para>flowElement</para></i> underneath the <see cref="ModelItem"/> parent <para>modelItemParentt</para>.
        /// </summary>
        BPMNTransformationResult Transform(IBPMN2WFTransformationContext ctx, BPMNFlowNode flowNode);
    }
}